package utils

import (
	"regexp"
	"strings"
)

// ParseTags 从内容中解析标签，格式为 #标签
func ParseTags(content string) []string {
	// 正则匹配 #开头，后跟中文、英文、数字、下划线，以空格或标点结尾
	re := regexp.MustCompile(`#([\p{L}\p{N}_]+)`)
	matches := re.FindAllStringSubmatch(content, -1)

	tags := make([]string, 0, len(matches))
	seen := make(map[string]bool)

	for _, match := range matches {
		if len(match) > 1 {
			tag := strings.TrimSpace(match[1])
			if tag != "" && !seen[tag] {
				tags = append(tags, tag)
				seen[tag] = true
			}
		}
	}

	return tags
}
